package controleur;

import java.util.TimerTask;

import modele.Map;
import modele.Unite.Ouvrier;

public class TacheDeplacement extends TimerTask{
	int nbrMillisecondesAvantRepetition;
	Ouvrier ouvrier;
	Controleur controleur;
	Map map;
	
	public TacheDeplacement(Controleur c, int tempsDAttenteMillisecondes, Ouvrier ouv, Map m)
	{
		controleur = c;
		nbrMillisecondesAvantRepetition = tempsDAttenteMillisecondes;
		ouvrier = ouv;
		map = m;
	}
	
	
	@Override
	public void run() {
		//si le déplacement peut avoir lieu
		ouvrier.seDeplacer(map);
		//sinon ...
		//TODO
		
		if(ouvrier.getListeDirection().size() != 0)//si ce n'était pas le dernier mouvement on relance un timer
		{
			new MonTimer(new TacheDeplacement(controleur, nbrMillisecondesAvantRepetition, ouvrier, map), nbrMillisecondesAvantRepetition);
		}
		controleur.provoquerRafraichissement();
	}

}
